// 生成包含100个随机数的数组
function generateRandomArray(size, min, max) {
  const array = [];
  for (let i = 0; i < size; i++) {
      array.push(Math.floor(Math.random() * (max - min + 1)) + min);
  }
  return array;
}

// 插入排序算法
function insertionSort(arr) {
  for (let i = 1; i < arr.length; i++) {
      const key = arr[i];
      let j = i - 1;

      // 将大于key的元素向右移动一位
      while (j >= 0 && arr[j] > key) {
          arr[j + 1] = arr[j];
          j = j - 1;
      }
      arr[j + 1] = key;
  }
  return arr;
}

// 将排序后的数组写入文本文件
function writeToFile(array, filename) {
  const fs = require('fs');
  const data = JSON.stringify(array);
  fs.writeFile(filename, data, (err) => {
      if (err) {
          console.error('写入文件时出错:', err);
      } else {
          console.log(`数组已成功写入文件 ${filename}`);
      }
  });
}

// 主函数
function main() {
  const arraySize = 100;
  const randomNumberArray = generateRandomArray(arraySize, 1, 100);
  console.log('生成的随机数组:', randomNumberArray);

  const sortedArray = insertionSort(randomNumberArray);
  console.log('排序后的数组:', sortedArray);

  const outputFilename = 'sortedArray.txt';
  writeToFile(sortedArray, outputFilename);
}

// 运行主函数
main();